home *** CD-ROM | disk | FTP | other *** search
/ Delphi Programmer's Power Pack / Delphi Volume 1.iso / e_to_l / isamexpt / wntisam2.pas < prev    next >
Pascal/Delphi Source File  |  1996-09-15  |  20KB  |  600 lines

  1. unit Wntisam2;
  2.  
  3. interface
  4. uses WinTypes, Classes, Graphics, Forms;
  5. {$I DEFINE.PAS}
  6. function Erzeuge_EditorForm(const FormIdent: string;
  7.                             RecList: TStringList;
  8.                             Label_Neben_Input: Boolean;
  9.                             InputLen_Fest: Boolean;
  10.                             LFont, EFont: TFont;
  11.                             Sprache: Integer): TForm;
  12.  
  13. implementation
  14.  
  15. Uses WinProcs, SysUtils, Controls, ExtCtrls, Proxies,
  16.      Db, WntIsam4, StdCtrls, Buttons,
  17.      {$IFDEF NEWINPUTS}
  18.      NumCtrl, DateEdit,
  19.      {$ENDIF}
  20.      IsamTabl;
  21.  
  22. function Erzeuge_EditorForm(const FormIdent: string;
  23.                             RecList: TStringList;
  24.                             Label_Neben_Input: Boolean;
  25.                             InputLen_Fest: Boolean;
  26.                             LFont, EFont: TFont;
  27.                             Sprache: Integer): TForm;
  28. var
  29.   BtnPos   : TPoint;
  30.   Method,KeyMethod: TMethod;
  31.   MP,UP,UP1,UP2,UP3: TPanel;
  32.   SP       : TSpeedButton;
  33.   Tbl      : TIsamTable;
  34.   dx,W,i,Ty,G : Integer;
  35.   xDecimals : Integer;
  36.   SLab     : TLabel;
  37.   {$IFDEF NEWINPUTS}
  38.   SInp     : TStrEdit;
  39.   DInp     : TDateEdit;
  40.   NInp     : TNumEdit;
  41.   {$ELSE}
  42.   SInp     : TEdit;
  43.   PInp     : TEdit;
  44.   NInp     : TEdit;
  45.   {$ENDIF}
  46.   MInp     : TMemo;
  47.   RInp     : TRadioGroup;
  48.   Tm       : TTimer;
  49.   FieldName,FeldName,SStr,AStr,MStr: String;
  50.   Len,Arr1,Arr2,A    : Integer;
  51.   FieldDataType      : TFieldType;
  52. begin
  53.   Result := TProxyForm.CreateAs('T' + FormIdent);
  54.   with Result do begin
  55.     BorderStyle := bsDialog;
  56.     Left:= 100;
  57.     Top:= 101;
  58.     Width := 400;
  59.     Height := 282;
  60.     Position := poScreenCenter;
  61.     Name := FormIdent;
  62.     Caption := FormIdent;
  63.     KeyPreview:= True;
  64.     AutoScroll  := True;
  65.     Method.Code := TProxyForm(Result).CreateMethod('FormCreate');
  66.     Method.Data := Result;
  67.     OnCreate    := TNotifyEvent(Method);
  68.     Method.Code := TProxyForm(Result).CreateMethod('FormDestroy');
  69.     Method.Data := Result;
  70.     OnDestroy   := TNotifyEvent(Method);
  71.     KeyMethod.Code:= TProxyForm(Result).CreateMethod('FormKeyPress');
  72.     KeyMethod.Data:= Result;
  73.     OnKeyPress:= TKeyPressEvent(KeyMethod);
  74.     with Font do begin
  75.       Color := clBlack;
  76.       Height:= -11;
  77.       Name := 'Arial';
  78.       Size := 8;
  79.       Style:= [fsBold];
  80.     end;
  81.  
  82.     MP:= TPanel.Create(Result);
  83.     with MP do begin
  84.       Parent := Result;
  85.       Name := 'Panel1';
  86.       Align := alTop;
  87.       ShowHint:= True;
  88.       Caption:= '';
  89.     end;
  90.  
  91.     Sp:= TSpeedButton.Create(Result);
  92.     with SP do begin
  93.       Parent:= MP;
  94.       Left:= 10;
  95.       Top := 8;
  96.       Width := 25;
  97.       Height := 25;
  98.       if Sprache = 1 then Hint:= 'Back'
  99.       else Hint := 'Zurⁿck';
  100.       Name := 'RueckBttn';
  101.       Glyph.Handle:= LoadBitmap(HInstance,'IS_RUECK');
  102.       Method.Code := TProxyForm(Result).CreateMethod('RueckBttnClick');
  103.       Method.Data := Result;
  104.       Sp.OnClick := TNotifyEvent(Method);
  105.     end;
  106.  
  107.     Sp:= TSpeedButton.Create(Result);
  108.     with SP do begin
  109.       Parent:= MP;
  110.       Left:= 35;
  111.       Top := 8;
  112.       Width := 25;
  113.       Height := 25;
  114.       if Sprache = 1 then Hint:= 'forward'
  115.       else Hint := 'VorwΣrts';
  116.       Name := 'VorBttn';
  117.       Glyph.Handle:= LoadBitmap(HInstance,'IS_VOR');
  118.       Method.Code := TProxyForm(Result).CreateMethod('VorBttnClick');
  119.       Method.Data := Result;
  120.       Sp.OnClick := TNotifyEvent(Method);
  121.     end;
  122.  
  123.     Sp:= TSpeedButton.Create(Result);
  124.     with SP do begin
  125.       Parent:= MP;
  126.       Left:= 60;
  127.       Top := 8;
  128.       Width := 25;
  129.       Height := 25;
  130.       if Sprache = 1 then Hint:= 'Search'
  131.       else Hint := 'Suchen';
  132.       Name := 'SuchBttn';
  133.       Glyph.Handle:= LoadBitmap(HInstance,'IS_SUCH');
  134.       Method.Code := TProxyForm(Result).CreateMethod('SuchBttnClick');
  135.       Method.Data := Result;
  136.       Sp.OnClick := TNotifyEvent(Method);
  137.     end;
  138.  
  139.     Sp:= TSpeedButton.Create(Result);
  140.     with SP do begin
  141.       Parent:= MP;
  142.       Left:= 85;
  143.       Top := 8;
  144.       Width := 25;
  145.       Height := 25;
  146.       if Sprache = 1 then Hint:= 'Sort order'
  147.       else Hint := 'Sortierordnung';
  148.       Name := 'KeyBttn';
  149.       Glyph.Handle:= LoadBitmap(HInstance,'IS_KEY');
  150.       Method.Code := TProxyForm(Result).CreateMethod('KeyBttnClick');
  151.       Method.Data := Result;
  152.       Sp.OnClick := TNotifyEvent(Method);
  153.     end;
  154.  
  155.     Sp:= TSpeedButton.Create(Result);
  156.     with SP do begin
  157.       Parent:= MP;
  158.       Left:= 110;
  159.       Top := 8;
  160.       Width := 25;
  161.       Height := 25;
  162.       if Sprache = 1 then Hint:= 'clear'
  163.       else Hint := 'Leeren';
  164.       Name := 'NeuBttn';
  165.       Glyph.Handle:= LoadBitmap(HInstance,'IS_NEU');
  166.       Method.Code := TProxyForm(Result).CreateMethod('NeuBttnClick');
  167.       Method.Data := Result;
  168.       Sp.OnClick := TNotifyEvent(Method);
  169.     end;
  170.  
  171.     Sp:= TSpeedButton.Create(Result);
  172.     with SP do begin
  173.       Parent:= MP;
  174.       Left:= 135;
  175.       Top := 8;
  176.       Width := 25;
  177.       Height := 25;
  178.       if Sprache = 1 then Hint:= 'save new record'
  179.       else Hint := 'Anlegen';
  180.       Name := 'AnlegBttn';
  181.       Glyph.Handle:= LoadBitmap(HInstance,'IS_ANLEGEN');
  182.       Method.Code := TProxyForm(Result).CreateMethod('AnlegBttnClick');
  183.       Method.Data := Result;
  184.       Sp.OnClick := TNotifyEvent(Method);
  185.     end;
  186.  
  187.     Sp:= TSpeedButton.Create(Result);
  188.     with SP do begin
  189.       Parent:= MP;
  190.       Left:= 160;
  191.       Top := 8;
  192.       Width := 25;
  193.       Height := 25;
  194.       if Sprache = 1 then Hint:= 'save changed record'
  195.       else Hint := '─ndern';
  196.       Name := 'AendernBttn';
  197.       Glyph.Handle:= LoadBitmap(HInstance,'IS_AENDERN');
  198.       Method.Code := TProxyForm(Result).CreateMethod('AendernBttnClick');
  199.       Method.Data := Result;
  200.       Sp.OnClick := TNotifyEvent(Method);
  201.     end;
  202.  
  203.     Sp:= TSpeedButton.Create(Result);
  204.     with SP do begin
  205.       Parent:= MP;
  206.       Left:= 185;
  207.       Top := 8;
  208.       Width := 25;
  209.       Height := 25;
  210.       if Sprache = 1 then Hint:= 'delete record'
  211.       else Hint := 'L÷schen';
  212.       Name := 'LoeschBttn';
  213.       Glyph.Handle:= LoadBitmap(HInstance,'IS_LOESCHEN');
  214.       Method.Code := TProxyForm(Result).CreateMethod('LoeschBttnClick');
  215.       Method.Data := Result;
  216.       Sp.OnClick := TNotifyEvent(Method);
  217.     end;
  218.  
  219.     Sp:= TSpeedButton.Create(Result);
  220.     with SP do begin
  221.       Parent:= MP;
  222.       Left:= 215;
  223.       Top := 8;
  224.       Width := 25;
  225.       Height := 25;
  226.       Hint := 'Ok';
  227.       Name := 'OkBttn';
  228.       Glyph.Handle:= LoadBitmap(HInstance,'IS_OK');
  229.       Method.Code := TProxyForm(Result).CreateMethod('OkBttnClick');
  230.       Method.Data := Result;
  231.       Sp.OnClick := TNotifyEvent(Method);
  232.     end;
  233.  
  234.     Sp:= TSpeedButton.Create(Result);
  235.     with SP do begin
  236.       Parent:= MP;
  237.       Left:= 358;
  238.       Top := 8;
  239.       Width := 25;
  240.       Height := 25;
  241.       if Sprache = 1 then Hint:= 'End'
  242.       else Hint := 'Ende';
  243.       Name := 'AbbruchBttn';
  244.       Glyph.Handle:= LoadBitmap(HInstance,'IS_ENDE');
  245.       Method.Code := TProxyForm(Result).CreateMethod('AbbruchBttnClick');
  246.       Method.Data := Result;
  247.       Sp.OnClick := TNotifyEvent(Method);
  248.     end;
  249.  
  250.     UP:= TPanel.Create(Result);
  251.     with UP do begin
  252.       Parent := Result;
  253.       Name := 'Panel2';
  254.       Align := alBottom;
  255.       BevelInner:= bvLowered;
  256.       Height:= 27;
  257.       ShowHint:= False;
  258.       Caption:= '';
  259.     end;
  260.  
  261.     UP1:= TPanel.Create(Result);
  262.     With UP1 do begin
  263.       Parent:= UP;
  264.       Left  := 308;
  265.       Top   := 2;
  266.       Width := 108;
  267.       Height:= 23;
  268.       Align := alRight;
  269.       BevelOuter := bvLowered;
  270.       Font.Color := clBlack;
  271.       Font.Height := -11;
  272.       Font.Name := 'Arial';
  273.       Font.Style := [];
  274.       Name:= 'ZeitPanel';
  275.       Caption:= '';
  276.     end;
  277.  
  278.     UP3:= TPanel.Create(Result);
  279.     with UP3 do begin
  280.       Parent:= UP;
  281.       Left  := 2;
  282.       Top   := 2;
  283.       Width := 186;
  284.       Height:= 23;
  285.       Align := alClient;
  286.       ShowHint:= True;
  287.       BevelInner := bvLowered;
  288.       BevelOuter := bvNone;
  289.       Font.Color := clBl